package com.itheima.dao;

import com.itheima.entity.Address;
import org.apache.ibatis.annotations.*;
import java.util.List;
import java.util.Map;

public interface AddressDao {

    /**
     通过uid分页查询某个用户的地址
     */

    List<Address> findByUid(@Param("condition")Map<String,Object> condition);

    /**
     * 通过uid查询某个用户收货地址总数
     * @param
     * @return
     */

    int findCount(@Param("condition")Map<String, Object> condition);

    /**
     模糊查询
     */

    /**
     保存地址
     */
    @Insert("insert  into tab_address values(null ,#{uid},#{contact} ,#{address} ,#{telephone} ,#{isdefault} ) ")
    int save(Address address);

    /**
     * 更新当前用户所有的默认地址为0
     */
    @Update("update tab_address set isdefault=0 where uid=#{uid} ")
    int updateAddressIsNotDefault(int uid);

    /**
     * 更新当前地址为默认1
     */
    @Update("update tab_address set isdefault=1 where aid=#{aid}")
    int updateAddressIsDefault(int aid);

    /**
     * 更新地址信息
     */
    @Update("update tab_address set contact=#{contact},address=#{address},telephone=#{telephone} where aid=#{aid}")
    int update(Address address);

    /**
     * 删除操作
     */
    @Delete("delete from  tab_address where aid=#{aid} ")
    int delete(Integer aid);
}
